Methods and systems for providing residence recommendations based on personal interests

ABSTRACT

Embodiments for providing residence recommendations by one or more processors are described. At least one interest associated with a user is determined. At least one interest location associated with the at least one interest is identified. A score for each of a plurality of potential residences for the user is calculated at least based on a distance between the respective potential residence and each of the at least one interest locations. A signal representative of the calculated score for each of the plurality of potential residences is generated.

BACKGROUND OF THE INVENTION Field of the Invention

The present invention relates in general to computing systems, and moreparticularly, to various embodiments for providing residencerecommendations based on personal interests.

Description of the Related Art

In modern society, many people relocate, or move, more than a dozentimes in their lifetime. In many cases, these moves are to a new city,town, or state, and the individual has little to no knowledge about thenew location/area. Typically, the individual hires a realtor whoprovides them with various options and pricing. However, the realtorsoften cannot provide advice in the same way a friend of the individualcan. That is, a friend living in the area knows the tendencies ofresidents who live in the area, the good and bad parts of town, and mostimportantly, the individual looking to move (e.g., their interests andlifestyle).

Although there are many resources that contain information to help anindividual in selecting a new residence, current systems do not tailorsearch results in a way that takes the individual's personal interestsand lifestyle into account.

SUMMARY OF THE INVENTION

Various embodiments for providing residence recommendations by one ormore processors are described. In one embodiment, by way of exampleonly, a method for providing residence recommendations, again by one ormore processors, is provided. At least one interest associated with auser is determined. At least one interest location associated with theat least one interest is identified. A score for each of a plurality ofpotential residences for the user is calculated at least based on adistance between the respective potential residence and each of the atleast one interest locations. A signal representative of the calculatedscore for each of the plurality of potential residences is generated.

BRIEF DESCRIPTION OF THE DRAWINGS

In order that the advantages of the invention will be readilyunderstood, a more particular description of the invention brieflydescribed above will be rendered by reference to specific embodimentsthat are illustrated in the appended drawings. Understanding that thesedrawings depict only typical embodiments of the invention and are nottherefore to be considered to be limiting of its scope, the inventionwill be described and explained with additional specificity and detailthrough the use of the accompanying drawings, in which:

FIG. 1 is a block diagram depicting an exemplary computing nodeaccording to an embodiment of the present invention;

FIG. 2 is an additional block diagram depicting an exemplary cloudcomputing environment according to an embodiment of the presentinvention;

FIG. 3 is an additional block diagram depicting abstraction model layersaccording to an embodiment of the present invention;

FIGS. 4-6 are plan views of a map of a region illustrating variousaspects of functionality according to an embodiment of the presentinvention;

FIG. 7 is a flowchart/block diagram of a method for creating a userprofile according to an embodiment of the present invention;

FIG. 8 is a flowchart/block diagram of a method for recommendingresidences according to an embodiment of the present invention;

FIG. 9 is a flowchart/block diagram of a system for recommendingresidences according to an embodiment of the present invention; and

FIG. 10 is a flowchart diagram of an exemplary method for providingresidence recommendations according to an embodiment of the presentinvention.

DETAILED DESCRIPTION OF THE DRAWINGS

As discussed above, many people relocate, or move, more than a dozentimes in their lifetime. In many cases, these moves are to a new areaabout which the individual knows very little. Although realtors canassist with providing options and pricing, they often do not know theindividuals interest, lifestyle, etc. in the same way a closeacquaintance (e.g., friend, family member, etc.) does.

There are also various services (e.g., websites, applications, etc.)available for assisting individuals in finding new residences byproviding various types of information. For example, some websitescombine listings from various sources on the internet into a singlemap-based interface. The individual may be able to set his/her worklocation and the target travel time from the location to highlight aspecific region for possible listings. The user may also be asked forpreferences, such as location, housing type (e.g., stand-alone house,apartment, etc.), number of bedrooms and/or bathrooms, price, petpolicy, laundry, and amenities. After specifying a move in date andmonthly budget, users may be able view suggested listings, perhapsincluding photographs, and highlight their favorite options. Whenreviewing the preferred options, appointments may be arranged forviewing or more information.

While the current systems provide users with information on listingsbased on location, they do not provide options based on their personalinterests. Also, although maps may be provided that give the user someidea of the neighborhood, the user usually must conduct extensiveresearch to learn more about typical neighbors and nearby activitiesfrom other resources. If the user was to search for a house or apartmentusing only one of these services, they would have no idea what the localarea is like, what type of residents reside at the complex, and whatshops, restaurants, activities, etc. are near that location.

That is, although there are many resources that contain information tohelp an individual in selecting a new residence, current systems do nottailor search results in a way that takes the individual's personalinterests and lifestyle into account and/or cannot providerecommendations based on personal knowledge of the individual.

For example, a friend or family member of the individual may know thathe/she is an avid runner (or jogger) and would most likely prefer tolive near running trails and routes, such as a greenway. The friend mayalso have an understanding of the general lifestyle preferences of theindividual. For example, the friend may realize that the individualrecently graduated from college, is new to the area in question, and mayprefer to live relatively close to other individuals who are youngprofessionals, as well as near restaurants and bars.

There are currently no systems available that combine the individual'spreferences (e.g., budget, location, room number, etc.) with theindividual's personal interests, lifestyle, etc. in order to tailorrecommendations with respect to housing searches.

To address these needs, some embodiments described herein providemethods and systems for providing residence recommendations based on, atleast in part, the personal interests, lifestyle, preferences, etc. ofthe individual.

According to some embodiments described herein, this is accomplishedutilizing data (structured and/or unstructured data) from externalsources, such as various online sources (e.g., websites, databases,etc.) related to, for example, housing searches. Based on data fromthese sources, the system may map locations associated with interestsand preferences, which are near each residence. For example, if it isdetermined that the individual (or user) is interested in outdooractivities, residences near parks and greenways may be identified. Ifthe user enjoys trying new restaurants and unique finds, newup-and-coming restaurants in the area may be indicated and/or used toprovide recommendations.

The individual's personal interests may be identified and/or determinedin various ways. For example, in some embodiments, the individual mayactively or explicitly indicate (or choose) his/her interests to thesystem (e.g., manual entry, pull down menus, etc.). However, in someembodiments, the individual's personal interests are (also) determinedfrom searching and/or scanning data sources associated with theindividual, such as social media activity and electronic communications(e.g., email, text messages, etc.). For example, the individual's socialmedia activity (e.g., feedback left on social media, comments, etc.) mayindicate that the individual has an interest in a particular subject oractivity (e.g., running, golf, books, swimming, etc.), via, for example,keywords and key phrases (e.g., in social media posts and/or the user'scomments). As such, in some embodiments, the individual's personalinterests may (also) be determined or identified with little or noactive input from the individual. Additionally, if the individual hassocial media contacts (or “friends”) who live or work in the area, theindividual may be alerted to this so that he/she may request validationof the recommendations from those people, assisting the individual inselecting an option.

In some embodiments, the individual's personal interests are utilizedtogether with specific preferences with respect to housing, such aslocation, size, costs, amenities, etc. For example, prospective orpotential residences may be initially selected based on the preferencesindicated by the individual. The prospective residences may then bescored and/or ranked based on, for example, the proximity thereof tolocations associated with the individual's personal interests.

In some embodiments, the individual may be able to provide feedback tothe system regarding, for example, the identified personal interestsand/or the scoring (or ranking) of the prospective residences. Forexample, if the individual believes that the system has inaccuratelyprioritized a particular interest (or activity), the individual mayalert the system of such so that the prospective residences may berescored and/or such feedback may be utilized in future searches.Further, the methods and systems described herein may utilize feedbackleft by other individuals (e.g., with respect to the embodimentsdescribed herein and/or feedback left on external data sources relatedto accommodations).

Although the present disclosure repeatedly refers to “housing” and/or“residential” searches, it should be understood that the embodimentsdescribed herein may be applied to any type of accommodations, relatedto personal living, recreation, and/or business. That is, besidesassisting individuals in searching for residences, the methods andsystems described herein may also be applied to searching for hotels,vacation rentals, commercial/business locations, etc.

In particular, in some embodiments, a method, by one or more processors,for providing residence recommendations, again by one or moreprocessors, is provided. At least one interest associated with a user isdetermined. At least one interest location associated with the at leastone interest is identified. A score for each of a plurality of potentialresidences for the user is calculated at least based on a distancebetween the respective potential residence and each of the at least oneinterest locations. A signal representative of the calculated score foreach of the plurality of potential residences is generated.

A plurality of residence preferences associated with the user may bereceived. The plurality of potential residences may be selected based onthe plurality of residence preferences.

Each of the selected plurality of potential residences may match atleast a predetermined percentage of the received plurality of residencepreferences. The determining of the at least one interest associatedwith the user may include at least one of receiving an indication of theat least one interest from the user, automatically searching at leastone data source associated with the user, or a combination thereof.

The determining of the at least one interest associated with the usermay include automatically searching at least one data source associatedwith the user, wherein the at least one data source includes at leastone of social media activity, electronic communications, or acombination thereof.

The received plurality of residence preferences may include at least oneresidence amenity preference. The calculating of the score for each ofthe plurality of potential residences may include comparing amenitiesfor each of the plurality of potential residences to the at least oneamenity preference.

The generating of the signal representative of the calculated score foreach of the plurality of potential residences may include causing anindication of the calculated scores for each of the plurality ofpotential residences to be displayed on a display device.

In some embodiments, the methods and/or systems described herein utilize“machine learning,” “cognitive modeling,” “predictive analytics,” and/or“data analytics,” as is commonly understood by one skilled in the art.Generally, these processes may include, for example, receiving and/orretrieving multiple sets of inputs, and the associated outputs, of oneor more systems and processing the data (e.g., using a computing systemand/or processor) to generate or extract models, rules, etc. thatcorrespond to, govern, and/or estimate the operation of the system(s),or with respect to the embodiments described herein, users' feedback,reactions, satisfaction, etc. with respect to the scoring of prospectiveresidences based on personal interests, etc. as described herein.Utilizing the models, the performance (or operation) of the system(e.g., utilizing/based on new inputs) may be predicted and/or theperformance of the system may be optimized by investigating how changesin the input(s) effect the output(s).

It is understood in advance that although this disclosure includes adetailed description on cloud computing, implementation of the teachingsrecited herein are not limited to a cloud computing environment. Rather,embodiments of the present invention are capable of being implemented inconjunction with any other type of computing environment, such ascellular networks, now known or later developed.

Cloud computing is a model of service delivery for enabling convenient,on-demand network access to a shared pool of configurable computingresources (e.g. networks, network bandwidth, servers, processing,memory, storage, applications, virtual machines, and services) that canbe rapidly provisioned and released with minimal management effort orinteraction with a provider of the service. This cloud model may includeat least five characteristics, at least three service models, and atleast four deployment models.

Characteristics are as follows:

On-demand self-service: a cloud consumer can unilaterally provisioncomputing capabilities, such as server time and network storage, asneeded automatically without requiring human interaction with theservice's provider.

Broad network access: capabilities are available over a network andaccessed through standard mechanisms that promote use by heterogeneousthin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

Resource pooling: the provider's computing resources are pooled to servemultiple consumers using a multi-tenant model, with different physicaland virtual resources dynamically assigned and reassigned according todemand. There is a sense of location independence in that the consumergenerally has no control or knowledge over the exact location of theprovided resources but may be able to specify location at a higher levelof abstraction (e.g., country, state, or datacenter).

Rapid elasticity: capabilities can be rapidly and elasticallyprovisioned, in some cases automatically, to quickly scale out andrapidly released to quickly scale in. To the consumer, the capabilitiesavailable for provisioning often appear to be unlimited and can bepurchased in any quantity at any time.

Measured service: cloud systems automatically control and optimizeresource use by leveraging a metering capability at some level ofabstraction appropriate to the type of service (e.g., storage,processing, bandwidth, and active user accounts). Resource usage can bemonitored, controlled, and reported providing transparency for both theprovider and consumer of the utilized service.

Service Models are as follows:

Software as a Service (SaaS): the capability provided to the consumer isto use the provider's applications running on a cloud infrastructure.The applications are accessible from various client devices through athin client interface such as a web browser (e.g., web-based email). Theconsumer does not manage or control the underlying cloud infrastructureincluding network, servers, operating systems, storage, or evenindividual application capabilities, with the possible exception oflimited user-specific application configuration settings.

Platform as a Service (PaaS): the capability provided to the consumer isto deploy onto the cloud infrastructure consumer-created or acquiredapplications created using programming languages and tools supported bythe provider. The consumer does not manage or control the underlyingcloud infrastructure including networks, servers, operating systems, orstorage, but has control over the deployed applications and possiblyapplication hosting environment configurations.

Infrastructure as a Service (IaaS): the capability provided to theconsumer is to provision processing, storage, networks, and otherfundamental computing resources where the consumer is able to deploy andrun arbitrary software, which can include operating systems andapplications. The consumer does not manage or control the underlyingcloud infrastructure but has control over operating systems, storage,deployed applications, and possibly limited control of select networkingcomponents (e.g., host firewalls).

Deployment Models are as follows:

Private cloud: the cloud infrastructure is operated solely for anorganization. It may be managed by the organization or a third party andmay exist on-premises or off-premises.

Community cloud: the cloud infrastructure is shared by severalorganizations and supports a specific community that has shared concerns(e.g., mission, security requirements, policy, and complianceconsiderations). It may be managed by the organizations or a third partyand may exist on-premises or off-premises.

Public cloud: the cloud infrastructure is made available to the generalpublic or a large industry group and is owned by an organization sellingcloud services.

Hybrid cloud: the cloud infrastructure is a composition of two or moreclouds (private, community, or public) that remain unique entities butare bound together by standardized or proprietary technology thatenables data and application portability (e.g., cloud bursting forload-balancing between clouds).

A cloud computing environment is service oriented with a focus onstatelessness, low coupling, modularity, and semantic interoperability.At the heart of cloud computing is an infrastructure comprising anetwork of interconnected nodes.

Referring now to FIG. 1, a schematic of an example of a cloud computingnode is shown. Cloud computing node 10 is only one example of a suitablecloud computing node and is not intended to suggest any limitation as tothe scope of use or functionality of embodiments of the inventiondescribed herein. Regardless, cloud computing node 10 (and/or one ormore processors described herein) is capable of being implemented and/orperforming (or causing or enabling) any of the functionality set forthherein.

In cloud computing node 10 there is a computer system/server 12, whichis operational with numerous other general purpose or special purposecomputing system environments or configurations. Examples of well-knowncomputing systems, environments, and/or configurations that may besuitable for use with computer system/server 12 include, but are notlimited to, personal computer systems, server computer systems, thinclients, thick clients, hand-held or laptop devices, multiprocessorsystems, microprocessor-based systems, set top boxes, programmableconsumer electronics, network PCs, minicomputer systems, mainframecomputer systems, and distributed cloud computing environments thatinclude any of the above systems or devices, and the like.

Computer system/server 12 may be described in the general context ofcomputer system-executable instructions, such as program modules, beingexecuted by a computer system. Generally, program modules may includeroutines, programs, objects, components, logic, data structures, and soon that perform particular tasks or implement particular abstract datatypes. Computer system/server 12 may be practiced in distributed cloudcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed cloud computing environment, program modules may be locatedin both local and remote computer system storage media including memorystorage devices.

As shown in FIG. 1, computer system/server 12 in cloud computing node 10is shown in the form of a general-purpose computing device. Thecomponents of computer system/server 12 may include, but are not limitedto, one or more processors or processing units 16, a system memory 28,and a bus 18 that couples various system components including systemmemory 28 to processor 16.

Bus 18 represents one or more of any of several types of bus structures,including a memory bus or memory controller, a peripheral bus, anaccelerated graphics port, and a processor or local bus using any of avariety of bus architectures. By way of example, and not limitation,such architectures include Industry Standard Architecture (ISA) bus,Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, VideoElectronics Standards Association (VESA) local bus, and PeripheralComponent Interconnects (PCI) bus.

Computer system/server 12 typically includes a variety of computersystem readable media. Such media may be any available media that isaccessible by computer system/server 12, and it includes both volatileand non-volatile media, removable and non-removable media.

System memory 28 can include computer system readable media in the formof volatile memory, such as random access memory (RAM) 30 and/or cachememory 32. Computer system/server 12 may further include otherremovable/non-removable, volatile/non-volatile computer system storagemedia. By way of example only, storage system 34 can be provided forreading from and writing to a non-removable, non-volatile magnetic media(not shown and typically called a “hard drive”). Although not shown, amagnetic disk drive for reading from and writing to a removable,non-volatile magnetic disk (e.g., a “floppy disk”), and an optical diskdrive for reading from or writing to a removable, non-volatile opticaldisk such as a CD-ROM, DVD-ROM or other optical media can be provided.In such instances, each can be connected to bus 18 by one or more datamedia interfaces. As will be further depicted and described below,system memory 28 may include at least one program product having a set(e.g., at least one) of program modules that are configured to carry outthe functions of embodiments of the invention.

Program/utility 40, having a set (at least one) of program modules 42,may be stored in system memory 28 by way of example, and not limitation,as well as an operating system, one or more application programs, otherprogram modules, and program data. Each of the operating system, one ormore application programs, other program modules, and program data orsome combination thereof, may include an implementation of a networkingenvironment. Program modules 42 generally carry out the functions and/ormethodologies of embodiments of the invention as described herein.

Computer system/server 12 may also communicate with one or more externaldevices 14 such as a keyboard, a pointing device, a display 24, etc.;one or more devices that enable a user to interact with computersystem/server 12; and/or any devices (e.g., network card, modem, etc.)that enable computer system/server 12 to communicate with one or moreother computing devices. Such communication can occur via Input/Output(I/O) interfaces 22. Still yet, computer system/server 12 cancommunicate with one or more networks such as a local area network(LAN), a general wide area network (WAN), and/or a public network (e.g.,the Internet) via network adapter 20. As depicted, network adapter 20communicates with the other components of computer system/server 12 viabus 18. It should be understood that although not shown, other hardwareand/or software components could be used in conjunction with computersystem/server 12. Examples include, but are not limited to: microcode,device drivers, redundant processing units, external disk drive arrays,RAID systems, tape drives, and data archival storage systems, etc.

In the context of the present invention, and as one of skill in the artwill appreciate, various components depicted in FIG. 1 may be locatedin, for example, personal computer systems, server computer systems,thin clients, thick clients, hand-held or laptop devices, multiprocessorsystems, microprocessor-based systems, set top boxes, programmableconsumer electronics, network PCs, mobile electronic devices such asmobile (or cellular and/or smart) phones, personal data assistants(PDAs), tablets, wearable technology devices, laptops, handheld gameconsoles, portable media players, etc., as well as computing systems invehicles, such as automobiles, aircraft, watercrafts, etc. For example,some of the processing and data storage capabilities associated withmechanisms of the illustrated embodiments may take place locally vialocal processing components, while the same components are connected viaa network to remotely located, distributed computing data processing andstorage components to accomplish various purposes of the presentinvention. Again, as will be appreciated by one of ordinary skill in theart, the present illustration is intended to convey only a subset ofwhat may be an entire connected network of distributed computingcomponents that accomplish various inventive aspects collectively.

Referring now to FIG. 2, illustrative cloud computing environment 50 isdepicted. As shown, cloud computing environment 50 comprises one or morecloud computing nodes 10 with which local computing devices used bycloud consumers, such as, for example, cellular telephone or PDA 54A,desktop computer 54B, and/or laptop computer 54C, and vehicles (e.g.,automobiles, aircraft, watercraft, etc.) 54N, may communicate.

Still referring to FIG. 2, nodes 10 may communicate with one another.They may be grouped (not shown) physically or virtually, in one or morenetworks, such as Private, Community, Public, or Hybrid clouds asdescribed hereinabove, or a combination thereof. This allows cloudcomputing environment 50 to offer infrastructure, platforms and/orsoftware as services for which a cloud consumer does not need tomaintain resources on a local computing device. It is understood thatthe types of computing devices 54A-N shown in FIG. 2 are intended to beillustrative only and that computing nodes 10 and cloud computingenvironment 50 can communicate with any type of computerized device overany type of network and/or network addressable connection (e.g., using aweb browser).

Referring now to FIG. 3, a set of functional abstraction layers providedby cloud computing environment 50 (FIG. 2) is shown. It should beunderstood in advance that the components, layers, and functions shownin FIG. 3 are intended to be illustrative only and embodiments of theinvention are not limited thereto. As depicted, the following layers andcorresponding functions are provided:

Device layer 55 includes physical and/or virtual devices, embedded withand/or standalone electronics, sensors, actuators, and other objects toperform various tasks in a cloud computing environment 50. Each of thedevices in the device layer 55 incorporates networking capability toother functional abstraction layers such that information obtained fromthe devices may be provided thereto, and/or information from the otherabstraction layers may be provided to the devices. In one embodiment,the various devices inclusive of the device layer 55 may incorporate anetwork of entities collectively known as the “internet of things”(IoT). Such a network of entities allows for intercommunication,collection, and dissemination of data to accomplish a great variety ofpurposes, as one of ordinary skill in the art will appreciate.

Device layer 55 as shown includes sensor 52, actuator 53, “learning”thermostat 56 with integrated processing, sensor, and networkingelectronics, camera 57, controllable household outlet/receptacle 58, andcontrollable electrical switch 59 as shown. Other possible devices mayinclude, but are not limited to, various additional sensor devices,networking devices, electronics devices (such as a remote controldevice), additional actuator devices, so called “smart” appliances suchas a refrigerator or washer/dryer, and a wide variety of other possibleinterconnected objects.

Hardware and software layer 60 includes hardware and softwarecomponents. Examples of hardware components include: mainframes 61; RISC(Reduced Instruction Set Computer) architecture based servers 62;servers 63; blade servers 64; storage devices 65; and networks andnetworking components 66. In some embodiments, software componentsinclude network application server software 67 and database software 68.

Virtualization layer 70 provides an abstraction layer from which thefollowing examples of virtual entities may be provided: virtual servers71; virtual storage 72; virtual networks 73, including virtual privatenetworks; virtual applications and operating systems 74; and virtualclients 75.

In one example, management layer 80 may provide the functions describedbelow. Resource provisioning 81 provides dynamic procurement ofcomputing resources and other resources that are utilized to performtasks within the cloud computing environment. Metering and Pricing 82provides cost tracking as resources are utilized within the cloudcomputing environment, and billing or invoicing for consumption of theseresources. In one example, these resources may comprise applicationsoftware licenses. Security provides identity verification for cloudconsumers and tasks, as well as protection for data and other resources.User portal 83 provides access to the cloud computing environment forconsumers and system administrators. Service level management 84provides cloud computing resource allocation and management such thatrequired service levels are met. Service Level Agreement (SLA) planningand fulfillment 85 provides pre-arrangement for, and procurement of,cloud computing resources for which a future requirement is anticipatedin accordance with an SLA.

Workloads layer 90 provides examples of functionality for which thecloud computing environment may be utilized. Examples of workloads andfunctions which may be provided from this layer include: mapping andnavigation 91; software development and lifecycle management 92; virtualclassroom education delivery 93; data analytics processing 94;transaction processing 95; and, in the context of the illustratedembodiments of the present invention, various workloads and functions 96for providing residence recommendations as described herein. One ofordinary skill in the art will appreciate that the workloads andfunctions 96 for providing residence recommendations may also work inconjunction with other portions of the various abstractions layers, suchas those in hardware and software 60, virtualization 70, management 80,and other workloads 90 (such as data analytics processing 94, forexample) to accomplish the various purposes of the illustratedembodiments of the present invention.

In some embodiments, the individual (or user) utilizes the methods andsystems described herein using, for example, a software application(e.g., mobile application) or a website via a computing device, such asa mobile electronic device, desktop PC, etc. The individual may firstcreate a “user account,” as is commonly understood. For example, theindividual may provide basic information, such as their name, age,gender, contact information, current address, move-in date, budget, etc.This profile may be stored by the system.

The individual may then enter (or select) the region in which they arelooking for a residence. In some embodiments, the individual has theoption to select a single, particular city (or town, county, locale,etc.) or a city and the surrounding area(s). If several cities arewithin a certain distance of each other (e.g., 10 miles), the individualmay be provided with the option of selecting multiple cities,essentially creating a larger region for the residence search.Similarly, in some embodiments, the individual may be able to select acity along with any other cities within a particular distance (e.g., 20miles) of the selected city. The user may also be able to limit theregion. For example, the individual may be able to enter/select his/herwork location and choose a maximum distance from that location. In someembodiments, only potential residences within the selected region willbe presented to the individual.

In some embodiments, the individual also provides (or chooses, selects,etc.) “mandatory,” or at least relatively important, residencepreferences (or features). Examples include, but are not limited to,move-in date (e.g., availability of potential residences), budget (e.g.,maximum rent, monthly payment, etc.), residence type (e.g., stand alonehouse, apartment, multi-family, etc.), and number of bedrooms and/orbathrooms (i.e., perhaps multiple options for number ofbedrooms/bathrooms).

The individual may also add “optional,” or at least relativelyunimportant, residence preferences (or amenities). These options mayinclude, for example, whether or not the residence has a swimming pool(e.g., private or community), fitness center, golf course, coveredparking, furnished/unfurnished, deck/patio, pet policy, laundry, andelevator.

In some embodiments, the individual also adds at least some of theirpersonal interests (or activities, etc.). For example, the individualmay be able to manually enter various personal interests of theirs.However, in some embodiments, the individual may be able to select froma list including, for example, museums, nature & parks,sights/landmarks, tours, shopping, fun/games, outdoor activities,nightlife, concerts, water/amusement parks, and spas/wellness. Thenumber of personal interests that may be entered and/or selected may belimited (e.g., a maximum of four categories) to limit the number ofpotential residences.

Each possible interest may be mapped to trigger words or keywords (orkey phrases). For example, if the individual enters running/jogging as apersonal interest, as described below, the system searches for greenways(or greenbelts), large parks, running trails, established runningclubs/stores, etc. In some embodiments, the system links potentialspecified interests to preset trigger words that search for thelocations within the selected region that are associated with thepersonal interest(s), such as restaurants, churches, parks, museums,gyms, music venues, etc., which may be identified using various datasources (e.g., online data sources, such as travel-related websites).

In some embodiments, the individual also indicates their diningpreferences. For example, the individual may indicate how often they eatout, their preferred types of cuisine, and/or the type of restaurant(s)they frequently attend. This option may be included regardless ofwhether or not restaurants/food was indicated as a personal interest ofthe individual. These actions may group all of the desired interestlocations as key search words.

In some embodiments, personal interests of the individual may (also) bedetermined (or identified) automatically. For example, the individualmay optionally grant the system to one or more sources of dataassociated with the individual (or personal data sources), such associal media profiles/activity, electronic communications (e.g., emails,text messages, etc.), online accounts (e.g., related to shopping), etc.Information may be identified in such data sources that allow the systemto determine the personal interests of the individual. For example, withrespect to social media, personal interests may be identified ordetermined based on keywords identified in social media posts that theindividual responded to and/or comments left by the individual or socialmedia groups to which the individual belongs (e.g., a running/jogginggroup). The identified personal interests may be added to theindividual's profile and used in scoring/grading potential residences asdescribed below. In some embodiments, the individual's contacts (e.g.,via social media, emails, etc.) may also be searched for people who liveor work in the region in which the individual is searching for aresidence.

In some embodiments, all of the information described above is stored inthe individual's user profile and then used to perform a search forresidences as described below. However, it should be understood that insome embodiments, the various types of information may simply be enteredeach time the individual desires to perform a search (i.e., no userprofile is created/stored). It should also be understood that thevarious steps described (e.g., entering/determining the various types ofinformation) may be performed in a different order than those describedherein (e.g., the user's personal interests may be selected/determinedfirst).

When a search is to be performed, in some embodiments, the systemsearches various data sources (e.g., online databases, websites, etc.)to locate potential residences for the individual as well as locationsassociated with the individual's personal interests. For example,various sources of structured and unstructured data may be utilized,such as websites related to locating/finding housing, travel-relatedwebsites, online mapping applications, online reviews, etc.

Referring now to FIG. 4, a map 400 of an exemplary region is shown. Theregion may correspond to a region selected by an individual for ahousing search as described above. In some embodiments, the map 400shown may be displayed on a display screen of a computing device (e.g.,a mobile electronic device, desktop PC, etc.). However, it should beunderstood that the map 400 may be provided to illustrate thefunctionality of the methods and systems described herein. In thedepicted embodiment, the region corresponds to an urban area (e.g., acity or town) with various roadways, landmarks, etc. However, it shouldbe understood that the region is simply provided as an example, as anyregion may be used, including rural areas or regions with multiplecities/towns that are separated by rural areas.

Referring now to FIG. 5, in some embodiments, all residential listingsin the region 400 that fit/match the mandatory preferences of the user(e.g., number of bedrooms/bathrooms, residence type, budget, etc.) areidentified and displayed. In the example shown, five such residences402-410 (and the locations thereof) are displayed on the map 400. Insome embodiments, rather than selecting all such listings, the potentialresidences are further filtered based on the individual's optionalpreferences. For example, in some embodiments, only the listings thatfit all of the individual's mandatory preferences and a predeterminedpercentage (e.g., 60%) of the individual's optional preferences areselected (or identified) and displayed.

The individual's personal interests (or activities) are thendetermined/entered and/or utilized to identify locations associated withthose interests (or interest locations) in the region. The interests maybe linked to common location words that match the interests (throughestablished trigger words). As described above, locations that match theinterests may be identified through various data sources, such as onlinedatabases, websites, etc. As described above, in some embodiments, theindividual selects a particular number of interests (e.g., his/her mostimportant), and only locations associated with those interests areutilized. Further, in some embodiments, the available data sources areutilized so that only the interest locations associated with businesses,activities, etc. that have an average rating above a predeterminedthreshold (e.g., 3.5 out of 5) are selected. For example, onlyrestaurants with at least an average rating of 3.5 out of 5 may beselected and/or utilized as described below. The appropriate interestlocations within the region, which are associated with the individual'spersonal interests, are mapped, as shown in FIG. 6. In the exampleshown, six interest locations 412-422 are shown (though it should benoted that this number may vary significantly in other embodiments).

Still referring to FIG. 6, an “interest point score” is then determinedor calculated for each of the potential residences 402-410 (i.e., thepotential residences 402-410 are scored with respect to the interestlocations 412-422 in the region). As one exemplary method for scoring(and/or ranking) the potential residences 402-410, each of the potentialresidences may be awarded points based on the proximity thereof to thevarious interest locations 412-422. For example, each potentialresidence may be awarded one or more points for each interest locationwithin a predetermined distance/range (e.g., 4 miles).

In some embodiments, the interest locations are grouped into fourdifferent categories with respect to their distance from each of thepotential residences: Category A, Category B, Category C, and CategoryD. In such an embodiment, each of the potential residences 402-410 maybe awarded 8 points for each of the interest locations within 0.5 milesof that residence (i.e., Category A), 5 points for each of the interestlocations between 0.51 and 1.0 mile (Category B), 3 points for eachbetween 1.1 and 2.0 miles (Category C), and 1 point for each of theinterest locations between 2.1 and 4.0 miles (Category D). In thismanner, an interest point score may be determined or calculated for eachof the potential residences.

In some embodiments, a final residence score for each of the potentialresidences is then determined or calculated. The final residence scoremay be determined by multiplying the interest point score for eachpotential residence by the percentage of the individual's optionalpreferences (or amenities) that is matched/met by that residence. Forexample, if the interest point score for a particular potentialresidence is 30, and that potential residence has 80% of the optionalpreferences indicated by the individual, the final residence score wouldbe 24.

A signal representative of the final residence score for each of thepotential residences may then be generated, resulting in, for example, alist of the potential residences, along with the final residence scoresthereof, being provided to the user (e.g., being displayed on a displaydevice, sent via electronic communication, etc.). In some embodiments,the potential residences are listed in order based on their finalresidence scores (e.g., listed order of descending final residencescore/from highest to lowest final residence score). Additionally, eachresidence may be displayed with the various details or information aboutthe residence (e.g., type, size, amenities, costs, etc.) and/or thecommunity/surrounding area (e.g., the interest locations within aparticular distance).

The individual may be provided with the option to “save” (or select) or“discard” the recommended residences, perhaps individually or the entirelist. Additionally, contact details (e.g., phone number, email address,etc.) may be provided to the individual for those of the recommendedresidences (or at least those that the individual has saved/selected) sothat the individual may contact the appropriate entity regardingadditional information.

In some embodiments, the individual may also be able to provide feedbackto the system related to the recommended residences. For example, if theindividual thinks the list of recommended residences and/or thescoring/ranking thereof does not accurately reflect his/her personalinterests (and/or residence preferences), the individual may be able toindicate such. The feedback may be utilized by the system to perform thesearch/scoring again and/or for future residence searches (e.g., for thesame individual and/or other individuals). It should be noted that theuser feedback may be received and/or retrieved in any suitable manner.For example, the user may actively/intentionally provide feedback viaquestionnaires, etc., such as when they are provided with a list ofrecommended residences. Additionally, other forms of communication maybe monitored (perhaps at the option of the user). For example, emails,texts, social media posts, etc. may be scanned for keywords indicativeof the user's satisfaction with the search/scoring of the residences.

Further, in some embodiments, the individual's personal data (e.g.,social media, emails, contact list, etc.) is searched for contacts wholive/work in the region. If any such contacts are identified, theindividual may be provided with an indication of such (e.g., via pop-upwindow, email, text message, etc.) so that the individual may seekadditional advice.

Referring now to FIG. 7, a flowchart/block diagram of a method (orapparatus logic) 700 for generating a user profile for an individualaccording to some embodiments is shown. However, it should be understoodthat the method 700 may also be applicable to the general process forcollecting information related to the individual, which is utilized toperform the residence searches/scoring described herein (i.e., asopposed to the creating of a specific user profile).

At block 702, the user enters the location (or region) in which he/sheis searching for a residence. As described above, the user may enter (orselect) a city (or town), along with nearby regions/areas, as well as beprovided the option to enter a work location. At block 704, the userenters the type(s) of residence he/she prefers or needs (e.g.,apartment, stand-alone house, multi-family, etc.). At block 706, theuser enters residence preferences (e.g., important or mandatorypreferences), such as the number of bedrooms/bathrooms, price, move indate, etc. At block 708, the user enters desired amenities (e.g.,relatively unimportant preferences), such as details related to parking,a gym, a pool, a golf course, laundry, pet policy, etc.

Still referring to FIG. 7, in some embodiments, at block 710, the userlinks (and/or grants the system access to) personal data sources, suchas social media activity, emails, etc. At block 712, personal interestsmay be indentified or determined. As described above, the personalinterests of the user may be manually entered or selected by the userand/or determined from the personal data sources. In some embodiments,at block 714, the user selects a predetermined number of interests. Forexample, the user may select four personal interests (e.g., museums,nature/parks, shopping, and concerts) which are utilized to perform(and/or limit) the residence searching described herein. In someembodiments, at block 716, the user enters (or selects) details relatedto his/her restaurant preferences (e.g., cuisine, type of restaurant,etc.). It should be understood that the selection of restaurantpreference may be utilized regardless of whether or not restaurants aredetermined to be one of the user's personal interests.

Referring now to FIG. 8, a flowchart/block diagram of a method (orapparatus logic) 800 for recommending residences according to someembodiments is shown. At block 802, a user profile (e.g., from FIG. 7)is uploaded/received/retrieved. The user profile may contain, forexample, the location/region for the search, the desired residence type,preferences, and personal interests of the user. At block 804, potentialresidences in the appropriate region are identified. That is, a list ofresidences in the region that (at least to some extent) match the user'spreferences/amenities is created. At block 806, the personal interestsof the user are retrieved from the user profile and/or otherwisedetermined. As described above, the personal interests may include userentered interests, interests identified from personal data sources, anda selection of the interests most important to the user.

Still referring to FIG. 8, at block 808, interest locations, associatedwith the personal interests of the user, within the region areidentified and/or selected, as described above (e.g., via onlinedatabases/websites, reviews, etc.). At block 810, the interest locationsare mapped relative to the potential residences. As described above,each of the interest locations may be categorized (e.g., Categories A-D)relative to each potential residence based on the distance between eachinterest location and each potential residence. At block 812, values areassigned to the categories (e.g., 8 points, 5 points, 3 points, and 1point). At block 814, interest scores (or grades) for each of thepotential residences are calculated. As described above, the interestscores may be calculated by adding the values for each of the interestlocations within a range of the residence and multiplying the sum by thepercentage of desired amenities included.

Continuing with FIG. 8, at block 816, the potential, or recommended,residences are displayed (or provided) to the user. The residences maybe listed based on the calculated scores (e.g., highest to lowest) andother relevant information may be shown (e.g., nearby interestlocations, amenities, etc.). At block 818, the user selects one or moreof the recommended residences (e.g., the user saves at least some of therecommendations). At block 820, local advice may be provided by, forexample, identifying contacts of the individual who live or work in theregion and providing appropriate contact information.

FIG. 9 illustrates a flowchart/block diagram of a system (and/or dataflow) 900 for recommending residences according to some embodimentsdescribed herein. As described above, a user (or individual) may accessthe systems/methods described herein via, for example, an application902 on a computing device. The application 902 receives user enteredinformation 904 (e.g., a user profile) and various types of informationfrom external data sources (e.g., online databases, websites, etc.),such as reviews 906, residential listings 908, travel-related data 910,personal data (e.g., social media, emails, etc.) 912, and a mappingapplication 914, and may store any appropriate information/data (e.g.,user information, saved searches, etc.) on a database (or memory) 916.Recommended residence options 918 are identified and displayed,utilizing the residential listings 908 and activities/restaurants in theregion (e.g., interest locations) 920, as described above.

Turning to FIG. 10, a flowchart diagram of an exemplary method 1000 forproviding residence recommendations, in accordance with various aspectsof the present invention, is provided. Method 1000 begins (step 1002)with, for example, a user (or individual) deciding he/she desires tolocate a new residence (or other type of accommodations) in a particularregion and/or creating a user profile as described above.

At least one interest associated with the user is determined (step1004). The determining of the at least one interest associated with theuser may include at least one of receiving an indication of the at leastone interest from the user, automatically searching at least one datasource associated with the user, or a combination thereof.

At least one interest location associated with the at least one interestis identified (step 1006). As described above, the at least one interestlocation may be identified utilizing external data sources, such asonline databases, websites, etc.

A score for each of a plurality of potential residences for the user iscalculated at least based on a distance between the respective potentialresidence and each of the at least one interest locations (step 1008).The plurality of potential residences may be selected based on aplurality of received residence preferences. The received plurality ofresidence preferences may include at least one residence amenitypreference. The calculating of the score for each of the plurality ofpotential residences may include comparing amenities for each of theplurality of potential residences to the at least one amenitypreference. Each of the selected plurality of potential residences maymatch at least a predetermined percentage of the received plurality ofresidence preferences.

A signal representative of the calculated score for each of theplurality of potential residences is generated (step 1010). Thegenerating of the signal representative of the calculated score for eachof the plurality of potential residences may include causing anindication of the calculated scores for each of the plurality ofpotential residences to be displayed on a display device.

Method 1000 ends (step 1012) with, for example, the user selecting atleast one of the potential residences based on, for example, thecalculated scores. The user may provide feedback (e.g., related to theidentified interests, etc.), which may be utilized in subsequentprocesses/searches.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowcharts and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowcharts and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowcharts and/or block diagram block orblocks.

The flowcharts and block diagrams in the figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowcharts or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustrations, and combinations ofblocks in the block diagrams and/or flowchart illustrations, can beimplemented by special purpose hardware-based systems that perform thespecified functions or acts or carry out combinations of special purposehardware and computer instructions.

1. A method, by one or more processors, for providing residencerecommendations comprising: determining at least one interest associatedwith a user; identifying at least one interest location associated withthe at least one interest; calculating a score for each of a pluralityof potential residences for the user at least based on a distancebetween the respective potential residence and each of the at least oneinterest locations; and generating a signal representative of thecalculated score for each of the plurality of potential residences. 2.The method of claim 1, further comprising: receiving a plurality ofresidence preferences associated with the user; and selecting theplurality of potential residences based on the plurality of residencepreferences.
 3. The method of claim 2, wherein each of the selectedplurality of potential residences matches at least a predeterminedpercentage of the received plurality of residence preferences.
 4. Themethod of claim 1, wherein the determining of the at least one interestassociated with the user includes at least one of receiving anindication of the at least one interest from the user, automaticallysearching at least one data source associated with the user, or acombination thereof.
 5. The method of claim 1, wherein the determiningof the at least one interest associated with the user includesautomatically searching at least one data source associated with theuser, wherein the at least one data source includes at least one ofsocial media activity, electronic communications, or a combinationthereof.
 6. The method of claim 2, wherein the received plurality ofresidence preferences includes at least one residence amenitypreference, and the calculating of the score for each of the pluralityof potential residences includes comparing amenities for each of theplurality of potential residences to the at least one amenitypreference.
 7. The method of claim 1, wherein the generating of thesignal representative of the calculated score for each of the pluralityof potential residences includes causing an indication of the calculatedscores for each of the plurality of potential residences to be displayedon a display device.
 8. A system for providing residence recommendationscomprising: at least one processor that determines at least one interestassociated with a user; identifies at least one interest locationassociated with the at least one interest; calculates a score for eachof a plurality of potential residences at least based on a distancebetween the respective potential residence and each of the at least oneinterest locations; and generates a signal representative of thecalculated score for each of the plurality of potential residences. 9.The system of claim 8, wherein the at least one processor further:receives a plurality of residence preferences associated with the user;and selects the plurality of potential residences based on the pluralityof residence preferences.
 10. The system of claim 9, wherein each of theselected plurality of potential residences matches at least apredetermined percentage of the received plurality of residencepreferences.
 11. The system of claim 8, wherein the determining of theat least one interest associated with the user includes at least one ofreceiving an indication of the at least one interest from the user,automatically searching at least one data source associated with theuser, or a combination thereof.
 12. The system of claim 8, wherein thedetermining of the at least one interest associated with the userincludes automatically searching at least one data source associatedwith the user, wherein the at least one data source includes at leastone of social media activity, electronic communications, or acombination thereof.
 13. The system of claim 9, wherein the receivedplurality of residence preferences includes at least one residenceamenity preference, and the calculating of the score for each of theplurality of potential residences includes comparing amenities for eachof the plurality of potential residences to the at least one amenitypreference.
 14. The system of claim 8, wherein the generating of thesignal representative of the calculated score for each of the pluralityof potential residences includes causing an indication of the calculatedscores for each of the plurality of potential residences to be displayedon a display device.
 15. A computer program product for providingresidence recommendations by one or more processors, the computerprogram product comprising a non-transitory computer-readable storagemedium having computer-readable program code portions stored therein,the computer-readable program code portions comprising: an executableportion that determines at least one interest associated with a user; anexecutable portion that identifies at least one interest locationassociated with the at least one interest; an executable portion thatcalculates a score for each of the plurality of potential residences atleast based on a distance between the respective potential residence andeach of the at least one interest locations; and an executable portionthat generates a signal representative of the calculated score for eachof the plurality of potential residences.
 16. The computer programproduct of claim 15, wherein the computer-readable program code portionsfurther include: an executable portion that receives a plurality ofresidence preferences associated with the user; and an executableportion that selects the plurality of potential residences based on theplurality of residence preferences.
 17. The computer program product ofclaim 16, wherein each of the selected plurality of potential residencesmatches at least a predetermined percentage of the received plurality ofresidence preferences.
 18. The computer program product of claim 15,wherein the determining of the at least one interest associated with theuser includes at least one of receiving an indication of the at leastone interest from the user, automatically searching at least one datasource associated with the user, or a combination thereof.
 19. Thecomputer program product of claim 15, wherein the determining of the atleast one interest associated with the user includes automaticallysearching at least one data source associated with the user, wherein theat least one data source includes at least one of social media activity,electronic communications, or a combination thereof.
 20. The computerprogram product of claim 16, wherein the received plurality of residencepreferences includes at least one residence amenity preference, and thecalculating of the score for each of the plurality of potentialresidences includes comparing amenities for each of the plurality ofpotential residences to the at least one amenity preference.
 21. Thecomputer program product of claim 15, wherein the generating of thesignal representative of the calculated score for each of the pluralityof potential residences includes causing an indication of the calculatedscores for each of the plurality of potential residences to be displayedon a display device.